#ifndef XPM_DOC_MODEL_RULEML_RULEML_H
#define XPM_DOC_MODEL_RULEML_RULEML_H

#include <vector>
#include "RulemlAssert.h"

using namespace std;

namespace xpm {
	class Ruleml {
	public:
		RulemlAssert* CreateAssert();
		void Clear();
	private:
		vector<RulemlAssert*> _asserts;
	};

	inline void Ruleml::Clear() {
		for(vector<RulemlAssert*>::iterator it = _asserts.begin(); it != _asserts.end(); ++it) {
			delete *it;
			*it = 0;
		}
		_asserts.clear();
	}
	inline RulemlAssert* Ruleml::CreateAssert() {
		RulemlAssert* assert = new RulemlAssert();
		_asserts.push_back(assert);
		return assert;
	}
}
#endif